package com.linkhub.oms.component.transactional.service;

import java.util.function.Consumer;

/**
 * @Description: 事务回调
 * @Author: echo
 * @Date: 2021/3/15 18:09
 * @Version: 1.0
 */
public interface TransactionalCallBackService {

    /**
     * 同步事务提交后进行操作
     *
     * @param service  service实例
     * @param consumer 具体操作方法
     * @param <T>      com.qtrade.service
     */
    <T> void syncHandleAfterCommit(T service, Consumer<T> consumer);

    /**
     * 异步执行事务提交后的操作
     *
     * @param service  com.qtrade.service
     * @param consumer 具体操作方法
     * @param <T>      com.qtrade.service
     */
    <T> void asyncHandleAfterCommit(T service, Consumer<T> consumer);


}
